1. Technical Field
The present invention relates generally to an improved distributed data processing system and, in particular, to a method and data processing system for providing administrative management for customizable user environments within a distributed data processing system.
2. Description of Related Art
In distributed data processing systems, the client-server model is a well-known environment. In this model, the user of a computer utilizes a xe2x80x9cclientxe2x80x9d system. The client system runs any of a number of computer operating systems to manage the basic functions that users execute, such as accessing files, executing programs, and system administration, as well as to serve as the base against which programs are written. Well-known client operating systems include Microsoft Windows 3.1, Windows for Workgroups, Windows 95, IBM(copyright) OS/2(copyright) Warp, Apple Macintosh, DOS, many variations of UNIX, and Microsoft Windows NT. The client system serves as the user""s workstation, and it may execute programs as well as store some user data.
The server system can also run any of a number of computer operating systems. Well-known server operating systems include, for example, Novell Netware, IBM OS/2 Warp Server, IBM AS/400(copyright), Microsoft Windows NT, and many variations of OSF UNIX. The server system is accessed by the client system for specific functions. The functions include, but are not limited to, storage and retrieval of data, storage and execution of applications, and storage of and access to user information.
The client-server model continues to evolve to meet the need for distributed resources. As personal computers have gained more functionality and reliability, end-users have improved their productivity through the use of a variety of distributed computing resources. While some enterprise data and legacy applications continue to be placed on reliable mainframe platforms, the need for distributed enterprise access to large numbers of applications and large amounts of data continues to grow.
Operating systems and computing hardware platforms have proliferated, and each combination of computer hardware and software addresses the need for a variety of price, performance, legacy compatibility, and features. Traditional PCs, such as desktop and laptop PCs, are designed to offer highly sophisticated end-user environments. The installation of workgroup computing software and complete application suites requires a computer with significant local storage and local networking capabilities. Network computers (NCs), on the other hand, offer a different type of versatility as they may provide limited access to Java(trademark) and Windows(trademark)-based applications. NCs are typically implemented with only a general purpose processor, a system memory, and a communications port. Therefore, NCs typically rely upon network access to provide dynamic, non-volatile data storage capability.
Each of the various implementations of the client-server model has advantages and disadvantages. Networked PCs have the advantage of providing extensive flexibility. In order to accommodate their need for computing resources, users may add peripherals and software applications directly to a PC, while a network administrator may provide other resources on the network for many users in a common fashion. The disadvantages include the immense burden placed on a network or system administrator in ensuring that the various PCs retain some semblance of a standard configuration. Many operating systems provide various levels of system administration capabilities for accomplishing such administrative tasks. However, as users become more technically sophisticated through everyday use of various computing devices, users demand more options in their access to data and to computing resources. For example, people who travel extensively or work at various locations may rely on the ability to have access to a common set of applications wherever they are located. Enormous costs and amounts of time may be spent in accommodating user preferences while pursuing corporate directives for the use of standard configurations.
Industry standards have been developed for both critical and common functions to aid in the implementation of a system containing different types of client systems accessing different types of server systems. The use of these standards on the client and server afford users the opportunity to carry out functions in a consistent manner on a variety of common client and server operating systems, thereby reducing administrative costs. For example, one of the activities that has been standardized is the xe2x80x9cauthenticationxe2x80x9d of users. Authentication refers to the process in which a user is validated as being able to complete a logon and/or access a system. Standard protocols have been defined within the X/Open Server Message Block (SMB) specification and the Open Systems Foundation (OSF) Distributed Computing Environment (DCE) specification. While many products and operating systems have been developed that utilize standard protocols, not all products have used the standards. Hence, enterprises confront the difficult challenge of cost-effectively maintaining system administrative knowledge of enterprise-wide computer configurations while allowing some amount of user-specific configuration flexibility within a variety of operating systems that use non-standard protocols and data file formats.
Windows-based applications using the Win32 API""s are dominant applications today. These applications are executed on Windows workstations or workstations that support the Win32 APIs in some form, yet many enterprises also use non-Window servers. In today""s server-based environments, it is desirable to manage all users, applications, and data from a centralized location.
Thus, it would be advantageous to have an improved method and system for managing Windows applications in a non-Windows-based server environment.
The mechanism provides for a method and system for user-specific management of applications in a heterogeneous server environment. A user may be assigned access to an application, and a user-application definition linking the selected user and the selected application is associatively stored with applications files for the selected application in a datastore on a heterogeneous server. The user-application definition may provide manageability of an application for a user of a Windows-based data processing system from a non-Windows-based server. The user-application definition may also be associatively stored with an application package that comprises user files, system files, user registries, or system registries that are used to configure a client for executing the application. The client may be configured by serving a Windows-based application specified by the user-application definition in the datastore from a non-Windows-based server to a Windows-based client.